﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace ControleRepresentante.Logic.Models
{
    public class Transportadora : UsuariosHolder
    {
        private readonly IList<Pedido> m_Pedidos;

        public Transportadora()
        {
            m_Pedidos = new List<Pedido>();
        }

        [Required(ErrorMessage = "*")]
        public virtual string Nome { get; set; }
        public virtual IEnumerable<Pedido> Pedidos { get { return m_Pedidos; } }
        public virtual TransportadoraJolitex TransportadoraJolitex { get; protected set; }

        public virtual void SetTransportadoraJolitex()
        {
            TransportadoraJolitex = new TransportadoraJolitex(this);
        }
    }

    public class TransportadoraJolitex : ModelBase
    {
        internal TransportadoraJolitex(Transportadora transportadora)
        {
            Transportadora = transportadora;
        }

        protected TransportadoraJolitex()
        {
        }

        public virtual int? Codigo { get; set; }
        protected virtual internal Transportadora Transportadora { get; set; }

        public override Guid Id
        {
            get { return Transportadora.Id; }
            set { }
        }
    }
}